import java.net.*;
import java.io.*;

public class ServeurUDP {
    public static void main(String[] args) throws IOException {
	
	// Declaration du socket UDP (socket datagramme) 
	DatagramSocket Socket = new DatagramSocket(4567);
	
	// Déclaration et création du buffer et du datagramme reçu
	byte[] buffer = new byte[1024];
	DatagramPacket Reception = new DatagramPacket(buffer,buffer.length);
	

	// Réception
	while(true) {

	    Socket.receive(Reception);
	
	    // De qui on reçoit pour savoir à qui on répond
	    InetAddress IPSource = Reception.getAddress();
	    int PortSource = Reception.getPort();
	    
	    
	    // Service rendu par le serveur
	    String MessageRecu = new String(buffer);

	    System.out.println("MEssageRecu : "+MessageRecu);

	    String MessageConverti = MessageRecu.toUpperCase();
	    byte[] MessageAEnvoyer = MessageConverti.getBytes();
	    
	    // Déclaration et création du datagramme à envoyer		
	    DatagramPacket Emission = new DatagramPacket(MessageAEnvoyer,MessageAEnvoyer.length,IPSource,PortSource);
	    
	    // Emission
	    Socket.send(Emission);
	}
	// Fermeture du socket
	//Socket.close();
	
    }
}
	
